package com.huipinche;


import com.huipinche.view.LoginPageView;
import com.huipinche.view.impl.*;

import java.io.IOException;
import java.util.Scanner;

import com.huipinche.dao.bean.Journey;
import com.huipinche.dao.bean.User;
import com.huipinche.dao.impl.JourneyDaoimpl;
import com.huipinche.dao.impl.UserDaoimpl;
import com.huipinche.service.impl.*;
import org.junit.Test;


/**
 * @Auther: 梁钰浩
 * @Date:
 * @Description:用来控制页面之间的跳转
 */
public class maincontrol {

    public static void main(String[] args) throws Exception {

        HomePageViewimpl homePageViewimpl = new HomePageViewimpl();
        HallPageViewimpl hallPageViewimpl = new HallPageViewimpl();
        FindPageViewimpl findPageViewimpl = new FindPageViewimpl();
        LaunchPageViewimpl launchPageViewimpl = new LaunchPageViewimpl();
        LoginPageViewimpl loginPageViewimpl = new LoginPageViewimpl();
        registrationPage RegistrationPage = new registrationPage();

        boolean startflag = true;
        boolean mainflag = false;
        int result = 120;
        //登录，注册页
       while(startflag)
        {
            switch(result){
                case 110:
                    result = loginPageViewimpl.LoginPage(true);
                    System.out.println(result);
                    break;
                case 120:
//                    registrationPage RegistrationPage = new registrationPage();
                    result = RegistrationPage.RegisterPage(true);
                    System.out.println(result);
                    break;
////                case 100 起始页: result = view.对应页面的函数(); break;
//                case 110 登录页:
//                             result = view.对应页面的函数();
//                             如果 result 是跳转到起始页  startflag = 0;mainflag = 1;
//                             否则还是在这个循环当中
//                             break;
//                case 120 注册页: result = view.对应页面的函数(); break;
                }
        }

        while(mainflag)
        {
            switch(result){
                case 200:
                    result = homePageViewimpl.HomePage(true);
                    System.out.println(result);
                    break;
                case 210:
                    result = launchPageViewimpl.LaunchPage(true);
                    System.out.println(result);
                    break;
                case 230:
                    result = hallPageViewimpl.HallPage(true);
                    System.out.println(result);
                    break;
                case 231:
                    result = findPageViewimpl.FindPage(true);
                    System.out.println(result);
                    break;

//                case 110 登录页:
//                             result = view.对应页面的函数();
//                             如果 result 是跳转到起始页  startflag = 0;mainflag = 1;
//                             否则还是在这个循环当中
//                             break;
//                case 120 注册页: result = view.对应页面的函数(); break;
            }
        }




















//            boolean startflag = true;
//            boolean mainflag = false;
//            int result = 100;
//        //登录，注册页
//       while(startflag)
//        {
//            switch(result){
////                case 100 起始页: result = view.对应页面的函数(); break;
////                case 110 登录页:
////                             result = view.对应页面的函数();
////                             如果 result 是跳转到起始页  startflag = 0;mainflag = 1;
////                             否则还是在这个循环当中
////                             break;
////                case 120 注册页: result = view.对应页面的函数(); break;
//                }
//        }


        //主页，功能页
//          while(mainflag){
//        //当用户登录成功后，首先进入主功能页（200）。用户选择之后，视图层将选择的结果
//        //返回给 result ，由于在while(1)中，马上又会进入到另外一个页面。
//        //页面处理完业务后，会返回要跳转的页面值，则又会跳转到该页面
//        switch(result){
////            case 200（主页）:
////                              result = view.对应页面的函数();
////                              如果是退出，startflag = 1;mainflag = 0;
////                              break;
////            case 210: result = view.对应页面的函数(); break;
////            case 211: result = view.对应页面的函数(); break;
////            case 220: result = view.对应页面的函数(); break;
////            case 221: result = view.对应页面的函数(); break;
////            case 230: result = view.对应页面的函数(); break;
////            case 231: result = view.对应页面的函数(); break;
////            case 232: result = view.对应页面的函数(); break;
//        }
//    }
    }
    @Test
    public void alltest() throws Exception {
        FindPageViewimpl findPageViewimpl = new FindPageViewimpl();
        HomePageViewimpl homePageViewimpl = new HomePageViewimpl();
        HallPageViewimpl hallPageViewimpl = new HallPageViewimpl();
        LaunchPageViewimpl launchPageViewimpl = new LaunchPageViewimpl();
        LoginPageViewimpl loginPageViewimpl = new LoginPageViewimpl();
        registrationPage RegistrationPage = new registrationPage();

        boolean startflag = true;
        boolean mainflag = false;
        int result = 120;
        //登录，注册页
        while (startflag) {
            switch (result) {
                case 110:
                    result = loginPageViewimpl.LoginPage(true);
//                    System.out.println(result);
                    if (result == 200) {
                        startflag = false;
                        mainflag = true;
                    }
                    break;
                case 120:
//                    registrationPage RegistrationPage = new registrationPage();
                    result = RegistrationPage.RegisterPage(true);
//                    System.out.println(result);
                    break;
            }

            while (mainflag) {
                switch (result) {
                    case 200:
                        result = homePageViewimpl.HomePage(true);
//                        System.out.println(result);
                        break;
                    case 210:
                        result = launchPageViewimpl.LaunchPage(true);
//                        System.out.println(result);
                        break;
                    case 230:
                        result = hallPageViewimpl.HallPage(true);
//                        System.out.println(result);
                        break;
                    case 231:
                        result = findPageViewimpl.FindPage(true);
//                        System.out.println(result);
                        break;

//                case 110 登录页:
//                             result = view.对应页面的函数();
//                             如果 result 是跳转到起始页  startflag = 0;mainflag = 1;
//                             否则还是在这个循环当中
//                             break;
//                case 120 注册页: result = view.对应页面的函数(); break;
                }
            }


        }


        //
        //    int startflag = 1;
//    int mainflag = 0;
//    int result = 100;
        //登录，注册页
        //  while(startflag)
        {
//      switch(result){
//            case 100 起始页: result = view.对应页面的函数(); break;
//            case 110 登录页:
//                             result = view.对应页面的函数();
//                             如果 result 是跳转到起始页  startflag = 0;mainflag = 1;
//                             否则还是在这个循环当中
//                             break;
//            case 120 注册页: result = view.对应页面的函数(); break;
//       }
        }


        //主页，功能页
        //  while(mainflag){
        //当用户登录成功后，首先进入主功能页（200）。用户选择之后，视图层将选择的结果
        //返回给 result ，由于在while(1)中，马上又会进入到另外一个页面。
        //页面处理完业务后，会返回要跳转的页面值，则又会跳转到该页面
//        switch(result){
//            case 200（主页）:
//                              result = view.对应页面的函数();
//                              如果是退出，startflag = 1;mainflag = 0;
//                              break;
//            case 210: result = view.对应页面的函数(); break;
//            case 211: result = view.对应页面的函数(); break;
//            case 220: result = view.对应页面的函数(); break;
//            case 221: result = view.对应页面的函数(); break;
//            case 230: result = view.对应页面的函数(); break;
//            case 231: result = view.对应页面的函数(); break;
//            case 232: result = view.对应页面的函数(); break;
//        }
//    }

    }
}
